|
|
| Menu location |
|---|
| Modification → Draft to Sketch Modify → Draft to Sketch |
| Workbenches |
| Draft, BIM |
| Default shortcut |
| None |
| Introduced in version |
| - |
| See also |
| None |
The Draft Draft2Sketch command converts Draft objects to Sketcher Sketches and vice versa.
Converting Draft objects to Sketcher Sketches
See also: Autogenerated API documentation and FreeCAD Scripting Basics.
To convert objects to a sketch use the make_sketch method (introduced in 0.19) of the Draft module. This method replaces the deprecated makeSketch method.
sketch = make_sketch(objects_list, autoconstraints=False, addTo=None, delete=False, name="Sketch", radiusPrecision=-1, tol=1e-3)
objects_list contains the objects to be converted. It is either a single object or a list of objects. Draft objects, Part::Feature objects and Part.Shape objects are supported.autoconstraints is True coincident constraints are added to nodes belonging to the same source object.addTo is the existing sketch object the geometry is added to. If not supplied a new sketch is created.delete is True the source objects are deleted.name is the name for the new sketch.radiusPrecision indicates how radius constraints should be handled:
-1 to disable radius constraints.0 to add individual radius constraints.tol is the tolerance used to check if shapes are planar and co-planar. Use -1 for a strict analysis.sketch is returned with the sketch object.To convert a sketch to Draft objects use the draftify method of the Draft module.
draftify(objectslist, makeblock=False, delete=True)
objectslist contains the objects to be converted. It is either a single object or a list of objects.makeblock is True the converted objects are grouped in a Part::Part2DObject.delete is True the source objects are deleted.Example:
import FreeCAD as App
import Draft
doc = App.newDocument()
rectangle = Draft.make_rectangle(2000, 1000)
circle = Draft.make_circle(500)
doc.recompute()
sketch_from_draft = Draft.make_sketch([rectangle, circle], autoconstraints=True, delete=False, radiusPrecision=0)
doc.recompute()
draft_from_sketch = Draft.draftify(sketch_from_draft, delete=False)
doc.recompute()